package com.wei.czz.framework.index.service;

import com.wei.czz.common.dto.blog.BlogDto;
import com.wei.czz.common.dto.blog.TagSortDto;
import com.wei.czz.common.dto.blog.WebStatsDto;
import com.wei.czz.common.enums.blog.BlogEnum;
import com.wei.czz.common.tool.PageDto;
import com.wei.czz.common.vo.blog.IndexVo;
import com.wei.czz.common.dto.blog.SortBlogDto;
import java.util.List;

/**
 * Created by IntelliJ IDEA.
 *
 * @author wei
 * date: 2021-05-26 16:36:00
 * className: IndexService 浏览器页面-首页面操作请求接口
 * version: 1.0
 * description:
 */
public interface IndexService {

    /**
     * 根据博客检索表单，分页查询博客列表
     * @param indexVo 首页面博客检索Vo类
     */
    PageDto<BlogDto> getIndexBlogList(IndexVo indexVo);

    /**
     * 根据展示的博客类型，获取对应类型前十的博客信息
     * @param blogEnum 博客的排序类型[0-热门 1-今日发布 2-系统推荐]
     */
    List<SortBlogDto> getSortBlogList(BlogEnum blogEnum);

    /**
     * 获取被系统已发布博客引用数量排行前十的博客标签信息
     */
    List<TagSortDto> getTopTenTagList();

    /**
     * 获取系统的统计信息
     */
    WebStatsDto getWebStats();

    /**
     * 根据博客id获取博客详细信息
     * @param blogId 博客id
     */
    BlogDto getBlogInfo(Long blogId);

    /**
     * 根据博客id，添加博客浏览量和博客点击量
     * @param userId 用户id
     * @param blogId 博客id
     */
    void addBlogView(Long userId, Long blogId);

}
